package chapter2.lessonBefore;

/**
 * @Project ：learn_java
 * @File ：chapter2.lessonBefore.GenericMethodDemo01.java
 * @IDE ：IntelliJ IDEA
 * @Author ：自由如风间
 * @Date ：2025/2/25 23:29
 * @Description ：定义一个工具类，可以任意存储任意类型的对象
 */

public class GenericMethodDemo01 {
    public static void main(String[] args) {
        // 测试工具类
        Tool tool = new Tool();
        tool.setData("存一个东西");
        // 因为工具类使用的是Object类型的变量，所有当我们传递数据过去的时候，
        // 相当于向上转型，会失去原本的所有类型信息
        // 如果使用，需要强制向下转型
        // 这种方式太过原始且低效
        Object data = tool.getData();
        String s = (String) data;
        System.out.println(s);
    }
}

class Tool {
    // 可以保存和存储任意类型的对象
    private Object data;

    public Object getData() {
        return data;
    }

    public void setData(Object data) {
        this.data = data;
    }
}
